作業二

作者:應數四 蘇文宏 學號:8324057 題目:輸入數學運算式,計算其值,並將計算,並將計算結果印出。 說明:數學運算 式依其難易度,由易而難,分成下列三種: (1)、運算元(operand)只含有整數(integer)值,例如 3+4*6-8/2 其計算結果應為 23。 (2)、運算元(operand)含有浮點數(float),例如 3.2+4.5*6-8/2 其計算結果應為 26.2。 (3)、運算元(operand)含有數學函數(function),例如 3.2+4.5*6-sqrt(16.0)/2 此處之sqrt()表示開平方根。其計算結果應為 28.2。除 了 sqrt()函數之外,尚可定義其他各式函數,如 sin、 cos、exp等等。 每人依個人之能力,擇定上述三種格式之一,讓使用者輸入 數學運算式。輸入之前,應善盡提示之責,告知使用者正確的 格式。輸入後,檢查其運算式格式是否正確。若運算式格式正 確無誤,則計算此運算式,並將結果印出。
程式使用說明: (1)計算優先次序: 1. () 2. 5ans、2x(變數的倍數,只能是數字) 3. sin、asin、cos、acos、 tan、atan、exp、ln、 sqrt、log、^、neg(負號)(一般函數) 4. *、/、mod、2sin 1(函數的倍數) 5. +、- 相同優先次序,則由右向左運算。 特別注意: sin 5x = sin(5x) 、 sin 5cos 6 = sin 5*cos 6 = (sin 5) * (cos 6) 2^-3x = 2^(-3x) 2^-3x pi = 2^-3x*pi = (2^(-3x))*pi (如不能確定運算優先次序,請用括號) (2)使用方法: 一般數學運算式皆可,不分大小寫。 如:sin x 、 cos pi 、 exp ln 5 、 3(2-8^-1) sqrt 5 、 6 mod 4 數字規則:第一字元一定要是數字字元、或小數點, 且中間不可有空白隔開,沒有真正的負數(但是有負號運算取代)。 以下為合法的數字: 3 、 3. 、 .2 、 0.3 、 1e+4 、 2.0e-3 (3)函式說明: sin x、asin x:正弦函數、反正弦函數,asin sin (pi/2) = 1.570... cos x、acos x:餘弦函數、反餘弦函數,acos cos (pi/2) = 1.570... tan x、atan x:正切函數、反正切函數,atan tan (pi/2) = 1.570... exp x:以 e 為底的指數函數,exp 1 = 2.71828... ln x:以 e 為底的對數函數,ln exp 1 = 1 log x:以 10 為底的對數函數,log 10 = 1 sqrt x:平方根函數,sqrt 9 = 3 x ^ y:次方函數,2^3 = 8, 注意:x 為負數時、y 為小數時,會發生計算機運算的錯誤! 如:(-2)^(2/3),可換成((-2)^2)^(1/3)來解決此問題! x mod y:求餘函數,9.1 mod 3 = 0.1 (4)變數說明: x:預設之變數,輸入 x 時可用運算式,如 exp ans 、 2x+1 pi:圓周率,3.14159... ans:最後一次的運算結果。 (5)角度、弳度量之選擇: 當 ○ degree ☉ radian 時,為弳度量。 當 ☉ degree ○ radian 時,為角度量。 內定為弳度量運算,此選擇只對三角函數有影響。 (6)輸出、輸入說明: postfix:顯示將運算式化為後序運算式之結果。 answer:顯示運算結果,如有錯誤,亦顯示在此。 input:為輸入運算式的文字欄。 x:可輸入一運算式,當成變數 x 之值。 (7)特殊鍵說明: Ac:清除運算結果。 Exec:開始執行。 New Window:開啟新的程式。 (8)特殊用法: 0.00001:10^-5 = 1/100000 = 1e-5 五分之一:5^-1 = 1/5 五的負二次方:5^-2 = 1/(5*2) 根號三:3^(1/2) = 3^2^-1 = 1.732... 八的立方根:8^(1/3) = 8^3^-1 = 2 以十為底的對數函數:log x = ln x/ln 10 以二十為底的對數函數:ln x/ln 20 = log x/log 20 計算半徑為 x 之圓面積:pi x^2 計算 sin x 之不動點:sin ans(重複執行,直到 ans 固定) 運算式最後之右括號可省略:(5*(3-(3+2)*6 = (5*(3-(3+2)*6)) (9)參考資料:計算機 CASIO fx-4500p

請執行支援 java 的瀏覽器,才能執行本程式。